  #include<stdio.h>

  int main(void)
  {
    int *ptr_p;
    /* This will not print value of &ptr_p, it should output 0 or some random number */
    printf("Printing value of *ptr_p : %d\n",*ptr_p);

    /* 
    The result of this program is a segmentation fault, some other run-time error or the random address is printed. 
    "Segmentation fault" is that you have used a pointer that points to an invalid address. 
    In most cases, a pointer that is not initialized or a wrong pointer address is the cause of segmentation faults.
   */

    int x;
    int *ptr_q;
    x = 5;
    
    ptr_q = &x;
	printf("Printing value derived from &x using *ptr_q argument: %d\n: ", *ptr_q);
   
    return 0;
  }

